Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
admin
/
app
/
V2
/
Repositories
/
Filename :
ClaimRepository.php
back
Copy
<?php namespace App\V2\Repositories; use App\Models\AllClaim; use App\V2\Dtos\FilterClaimDTO; class ClaimRepository extends BaseRepository { public function filterClaims(FilterClaimDTO $filterDto){ $queryBuilder = AllClaim::query(); if($filterDto->getClaimIds() != null){ $queryBuilder->whereIn('claim_id', $filterDto->getClaimIds()); } if($filterDto->getRequiredFor()=='CHILD'){ $queryBuilder->where('claimed_by_user_id', $filterDto->getCurrentUserId()); } if($filterDto->getRequiredFor() == 'PARENT'){ $queryBuilder->where('group_id', $filterDto->getCurrentGroupId()); } if($filterDto->getTaskIds() != null) { $queryBuilder->whereIn('task_id', $filterDto->getTaskIds() ); } if($filterDto->getProductIds() != null){ $queryBuilder->whereIn('product_id', $filterDto->getProductIds()); } if($filterDto->getCurrentGroupId() != null){ $queryBuilder->where('group_id', $filterDto->getCurrentGroupId()); } if($filterDto->getCurrentStoreId() != null){ $queryBuilder->where('store_id', $filterDto->getCurrentStoreId()); } if($filterDto->getEntityType() != null) { $queryBuilder->where('entity_type', $filterDto->getEntityType()); } if($filterDto->getStatusList() != null) { $queryBuilder->whereIn('status', $filterDto->getStatusList()); } //Sorting and ordering $order_by_column = 'claim_id'; $order = 'DESC'; if($filterDto->getOrder() != null){ $order = $filterDto->getOrder(); } if($filterDto->getOrderByColumn() != null){ $order_by_column = $filterDto->getOrderByColumn(); } $queryBuilder->orderBy($order_by_column, $order); //limits and pagination if($filterDto->getLimit() != null) $queryBuilder->limit($filterDto->getLimit()); if($filterDto->getOnlyCount() != null && $filterDto->getOnlyCount() == true) return $queryBuilder->count(); else if($filterDto->getPageNo() != null) return $queryBuilder->paginate($filterDto->getLimit(), ['*'], 'page', $filterDto->getPageNo()); else return $queryBuilder->get(); } } ?>